home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 May / Macworld (1999-05).dmg / Shareware World / Comms & Internet / Client PPC / RSAREF™ License < prev    next >
Text File  |  1999-02-12  |  20KB  |  434 lines

  1.              RSAREF(TM) 2.0: A Free Cryptographic Toolkit
  2.                          General Information
  3.  
  4.                            RSA Laboratories
  5.                         Revised April 15, 1994
  6.  
  7. This document copyright (C) 1992,1994 RSA Laboratories, a division of
  8. RSA Data Security, Inc. License is granted to reproduce, copy, post,
  9. or distribute in any manner, provided this document is kept intact
  10. and no modifications, deletions, or additions are made.
  11.  
  12.  
  13. WHAT IS IT?
  14.  
  15. RSAREF is a free, portable software developer's library of popular
  16. encryption and authentication algorithms. The name "RSAREF" means
  17. "RSA reference." RSA Laboratories intends RSAREF to serve as a free,
  18. educational reference implementation of modern public- and secret-key
  19. cryptography.
  20.  
  21. RSAREF 2.0 supports the following algorithms:
  22.  
  23.      o    RSA encryption and key generation, as defined by RSA
  24.           Laboratories' Public-Key Cryptography Standards (PKCS)
  25.  
  26.      o    MD2 and MD5 message digests
  27.  
  28.      o    DES (Data Encryption Standard) in cipher-block chaining mode
  29.  
  30.      o    Diffie-Hellman key agreement
  31.  
  32.      o    DESX, RSA Data Security's efficient, secure DES enhancement
  33.  
  34.      o    Triple-DES, for added security with three DES operations
  35.  
  36. Version 2.0 offers three other improvements over RSAREF 1.0: the
  37. ability to process messages of arbitrary length in parts; the option
  38. to process either binary data, or data encoded in printable ASCII;
  39. and support for encrypting messages for more than one recipient.
  40.  
  41. RSAREF is written in the C programming language as a library that can
  42. be called from an application program. A simple Internet Privacy-
  43. Enhanced Mail (PEM) implementation can be built directly on top of
  44. RSAREF, together with message parsing and formatting routines and
  45. certificate-management routines. RSAREF is distributed with a
  46. demonstration program that shows how one might build such an
  47. implementation.
  48.  
  49.  
  50. WHAT YOU CAN (AND CANNOT) DO WITH RSAREF
  51.  
  52.      1.   RSAREF is free for personal or corporate use under the
  53.           following conditions:
  54.  
  55.           o    RSAREF, RSAREF applications, and services based on
  56.                RSAREF applications may not be sold.
  57.  
  58.           o    You must give RSA the source code of any free RSAREF
  59.                application you plan to distribute or deploy within
  60.                your company. RSA will make these applications
  61.                available to the public, free of charge.
  62.  
  63.      2.   RSAREF applications and services based on RSAREF
  64.           applications may be sold under the following conditions:
  65.  
  66.           o    You must sign and return the RSAREF Commercial License
  67.                Agreement to RSA (call RSA for a copy of this
  68.                agreement). Remember, RSAREF is an unsupported toolkit.
  69.                If you are building an application to sell, you should
  70.                consider using fully supported libraries like RSA's
  71.                BSAFE or TIPEM SDK's.
  72.  
  73.      3.   RSAREF applications and services based on RSAREF
  74.           applications may be "sharewared" under the following
  75.           conditions:
  76.  
  77.           o    Shareware authors do not need to sign a separate
  78.                agreement with RSA, provided that their per-copy asking
  79.                price is less than $50 and total RSAREF application
  80.                revenue is less than $10,000 annually. Otherwise,
  81.                shareware authors must sign and return the RSAREF
  82.                Commercial License Agreement.
  83.  
  84.      4.   You must use the interface described in the RSAREF
  85.           documentation.
  86.  
  87.           o    The published interface of RSAREF consists of those
  88.                procedures and data types listed in the files
  89.                "global.h" and "rsaref.h", as described in the RSAREF
  90.                library reference manual (the file "rsaref.txt"). If a
  91.                procedure is not documented in the library reference
  92.                manual, then it is not considered published, even if an
  93.                application could access it without modification to
  94.                RSAREF.
  95.  
  96.           o    Furthermore, the published interface is understood as
  97.                the reasonable interpretation of the descriptions in
  98.                the library reference manual. Although it may well be
  99.                possible to perform other operations with procedures
  100.                listed in "rsaref.h" than what is described in
  101.                "rsaref.txt", only the intended operations (e.g.,
  102.                Diffie-Hellman key agreement with the Diffie-Hellman
  103.                procedures) are considered to follow the published
  104.                interface.
  105.  
  106.      5.   You can modify RSAREF to port it to other platforms, or to
  107.           improve its performance, as long as you give a copy of the
  108.           resulting source code to RSA. Other changes to the RSAREF
  109.           code require written consent from RSA.
  110.  
  111.      6.   You can't send or transmit (or cause to be transmitted)
  112.           RSAREF outside the United States or Canada, or give it to
  113.           anyone who is not a U.S. or Canadian citizen or doesn't have
  114.           a "green card."
  115.  
  116.  
  117. HOW TO GET IT
  118.  
  119. To obtain RSAREF, read the license at the end of the note and return
  120. a copy of the following paragraph by electronic mail to
  121. <rsaref-administrator@rsa.com>:
  122.  
  123.      I acknowledge that I have read the RSAREF Program License
  124.      Agreement and understand and agree to be bound by its terms and
  125.      conditions, including without limitation its restrictions on
  126.      foreign reshipment of the Program and information related to the
  127.      Program. The electronic mail address to which I am requesting
  128.      that the program be transmitted is located in the United States
  129.      of America or Canada and I am a United States citizen, a Canadian
  130.      citizen, or a permanent resident of the United States. The RSAREF
  131.      Program License Agreement is the complete and exclusive agreement
  132.      between RSA Laboratories and me relating to the Program, and
  133.      supersedes any proposal or prior agreement, oral or written, and
  134.      any other communications between RSA Laboratories and me relating
  135.      to the Program.
  136.  
  137. RSAREF is distributed by electronic mail in "uuencoded", compressed
  138. TAR format. When you receive it, store the contents of the message in
  139. a file, and run your operating system's "uudecode", "uncompress" and
  140. TAR programs. For example, suppose you store the contents of your
  141. message in the file 'contents'. You would run the commands:
  142.  
  143.      uudecode contents             # produces rsaref.tar.Z
  144.      uncompress rsaref.tar.Z       # produces rsaref.tar
  145.      tar xvf rsaref.tar
  146.  
  147. You can also get a "uuencoded" PKZIP(TM) version of RSAREF. Just ask
  148. for the ZIP file when you return the acknowledgment.
  149.  
  150. RSAREF includes about 60 files organized into the following
  151. subdirectories:
  152.  
  153.      doc       documentation
  154.      install   makefiles for various operating systems
  155.      rdemo     demonstration programs and test scripts
  156.      source    source code and include files
  157.  
  158. RSAREF is also available via anonymous FTP to 'rsa.com'. Along with
  159. RSAREF you can get RIPEM, Mark Riordan's RSAREF-based privacy-enhanced
  160. mail application, and an Emacs command interface to RIPEM. See the
  161. file 'README' in the FTP directory 'rsaref' for more information.
  162.  
  163.  
  164. USERS' GROUP
  165.  
  166. RSA Laboratories maintains the electronic-mail users' group
  167. <rsaref-users@rsa.com> for discussion of RSAREF applications, bug
  168. fixes, etc. To join the users' group, send electronic mail to
  169. <rsaref-users-request@rsa.com>.
  170.  
  171.  
  172. REGISTRATION
  173.  
  174. RSAREF users who register with RSA Laboratories are entitled to free
  175. RSAREF upgrades and bug fixes as soon as they become available and a
  176. 50% discount on selected RSA Data Security products. To register,
  177. send your name, address, and telephone number to
  178. <rsaref-registration@rsa.com>.
  179.  
  180.  
  181. PUBLIC-KEY CERTIFICATION
  182.  
  183. RSA Data Security offers public-key certification services conforming
  184. to PEM and PKCS standards. For more information, please send
  185. electronic mail to <pem-info@rsa.com>.
  186.  
  187.  
  188. PKCS: THE PUBLIC-KEY CRYPTOGRAPHY STANDARDS
  189.  
  190. To obtain copies of RSA Laboratories' Public-Key Cryptography
  191. Standards (PKCS), send electronic mail to <pkcs-info@rsa.com>.
  192.  
  193.  
  194. OTHER QUESTIONS
  195.  
  196. If you have questions on RSAREF software, licenses, export
  197. restrictions, or other RSA Laboratories offerings, send electronic
  198. mail to <rsaref-administrator@rsa.com>.
  199.  
  200.  
  201. AUTHORS
  202.  
  203. RSAREF was written by the staff of RSA Laboratories with assistance
  204. from RSA Data Security's software engineers. The DES code was written
  205. by Richard Outerbridge, with help from Phil Karn and Dan Hoey. Jim
  206. Hwang of Stanford wrote parts of the arithmetic code under contract
  207. to RSA Laboratories.
  208.  
  209.  
  210. ABOUT RSA LABORATORIES
  211.  
  212. RSA Laboratories is the research and development division of RSA Data
  213. Security, Inc., the company founded by the inventors of the RSA
  214. public-key cryptosystem. RSA Laboratories reviews, designs and
  215. implements secure and efficient cryptosystems of all kinds. Its
  216. clients include government agencies, telecommunications companies,
  217. computer manufacturers, software developers, cable TV broadcasters,
  218. interactive video manufacturers, and satellite broadcast companies,
  219. among others.
  220.  
  221. RSA Laboratories draws upon the talents of the following people:
  222.  
  223. Len Adleman, distinguished associate - Ph.D., University of
  224.   California, Berkeley; Henry Salvatori professor of computer
  225.   science at University of Southern California; co-inventor of
  226.   RSA public-key cryptosystem; co-founder of RSA Data Security, Inc.
  227.  
  228. Taher Elgamal, senior associate - Ph.D., Stanford University;
  229.   inventor of Elgamal public-key cryptosystem based on discrete
  230.   logarithms; holder of three patents for data compression algorithms
  231.   and implementations.
  232.  
  233. Martin Hellman, distinguished associate - Ph.D., Stanford University;
  234.   professor of electrical engineering at Stanford University;
  235.   co-inventor of public-key cryptography, exponential key exchange;
  236.   IEEE fellow; IEEE Centennial Medal recipient
  237.  
  238. Burt Kaliski, chief scientist - Ph.D., MIT; former visiting assistant
  239.   professor at Rochester Institute of Technology;  editor of Public-Key
  240.   Cryptography Standards; general chair of CRYPTO '91
  241.  
  242. Cetin Koc, associate - Ph.D., University of California, Santa
  243.   Barbara; assistant professor at Oregon State University
  244.  
  245. Ron Rivest, distinguished associate - Ph.D., Stanford University;
  246.   professor of computer science at MIT; co-inventor of RSA public-key
  247.   cryptosystem; co-founder of RSA Data Security, Inc.; member of
  248.   National Academy of Engineering; director of International
  249.   Association for Cryptologic Research; program co-chair of ASIACRYPT
  250.   '91
  251.  
  252. Matt Robshaw, research scientist - Ph.D., University of London; member
  253.   of EUROCRYPT '91 organizing committee
  254.  
  255. RSA Laboratories seeks the talents of other people as well. If you're
  256. interested, please write or call us.
  257.  
  258.  
  259. ADDRESSES
  260.  
  261. RSA Laboratories                   RSA Data Security, Inc.
  262. 100 Marine Parkway                 100 Marine Parkway
  263. Redwood City, CA  94065            Redwood City, CA  94065
  264.  
  265. (415) 595-7703                     (415) 595-8782
  266. e-mail: rsa-labs@rsa.com           info@rsa.com
  267.  
  268.  
  269. RSA LABORATORIES RSAREF 2.0 PROGRAM LICENSE AGREEMENT
  270.  
  271. RSA LABORATORIES, A DIVISION OF RSA DATA SECURITY, INC. ("RSA")
  272. GRANTS YOU A LICENSE AS FOLLOWS TO THE "RSAREF" PROGRAM:
  273.  
  274. 1.   LICENSE. RSA grants you a non-exclusive, non-transferable,
  275.      perpetual (subject to the conditions of Section 8) license for
  276.      the "RSAREF" program (the "Program") and its associated
  277.      documentation, subject to all of the following terms and
  278.      conditions:
  279.  
  280.      a.   to use the Program on any computer;
  281.  
  282.      b.   to make copies of the Program for back-up purposes;
  283.  
  284.      c.   to modify the Program in any manner for porting or
  285.           performance improvement purposes (subject to Section 2) or
  286.           to incorporate the Program into other computer programs for
  287.           your own personal or internal use, provided that you provide
  288.           RSA with a copy of any such modification or Application
  289.           Program by electronic mail, and grant RSA a perpetual,
  290.           royalty-free license to use and distribute such
  291.           modifications and Application Programs on the terms set
  292.           forth in this Agreement.
  293.  
  294.      d.   to copy and distribute the Program and Application Programs
  295.           in accordance with the limitations set forth in Section 2.
  296.  
  297. "Application Programs" are programs which incorporate all or any
  298. portion of the Program in any form. The restrictions imposed on
  299. Application Programs in this Agreement shall not apply to any
  300. software which, through the mere aggregation on distribution media,
  301. is co-located or stored with the Program.
  302.  
  303. 2.   LIMITATIONS ON LICENSE.
  304.  
  305.      a.   RSA owns the Program and its associated documentation and
  306.           all copyrights therein. You may only use, copy, modify and
  307.           distribute the Program as expressly provided for in this
  308.           Agreement. You must reproduce and include this Agreement,
  309.           RSA's copyright notices and disclaimer of warranty on any
  310.           copy and its associated documentation. The Program and any
  311.           Application programs must be distributed with their source
  312.           code.
  313.  
  314.      b.   The Program may not be used directly for revenue-generating
  315.           purposes. You may not:
  316.  
  317.           (i)  use the Program to provide services to others for which
  318.                you are compensated in any manner;
  319.  
  320.           (ii) license or otherwise distribute any Application Program
  321.                in any manner that generates income to you, including
  322.                without limitation any income on account of license
  323.                fees, royalties, maintenance fees and upgrade fees; and
  324.  
  325.           (iii) license or otherwise distribute any Application
  326.                Program without the express written acknowledgment of
  327.                the end user that the Program will not be used in
  328.                connection with any revenue-generating activity of the
  329.                end user.
  330.  
  331.           Nothing in this paragraph prohibits you from using the
  332.           Program or any Application Program solely for internal
  333.           purposes on the premises of a business which is engaged in
  334.           revenue-generating activities.
  335.  
  336.      c.   The Program, if modified, must carry prominent notices
  337.           stating that changes have been made, and the dates of any
  338.           such changes. 
  339.  
  340.      d.   Prior permission from RSA in writing is required for any
  341.           modifications that access the Program through ways other
  342.           than the published Program interface or for modifications to
  343.           the Program interface. (See the "What is it? RSAREF Supports
  344.           the Following Algorithms" and "What You Can (and Cannot) Do
  345.           With RSAREF," paragraph 4, all incorporated herein by
  346.           reference, for details.) RSA will grant all reasonable
  347.           requests for permission to make such modifications.
  348.  
  349. 3.   NO RSA OBLIGATION. You are solely responsible for all of your
  350.      costs and expenses incurred in connection with the distribution
  351.      of the Program or any Application Program hereunder, and RSA
  352.      shall have no liability, obligation or responsibility therefor.
  353.      RSA shall have no obligation to provide maintenance, support,
  354.      upgrades or new releases to you or to any distributee of the
  355.      Program or any Application Program.
  356.  
  357. 4.   NO WARRANTY OF PERFORMANCE. THE PROGRAM AND ITS ASSOCIATED
  358.      DOCUMENTATION ARE LICENSED "AS IS" WITHOUT WARRANTY AS TO THEIR
  359.      PERFORMANCE, MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
  360.      PURPOSE. THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF
  361.      THE PROGRAM IS ASSUMED BY YOU AND YOUR DISTRIBUTEES. SHOULD THE
  362.      PROGRAM PROVE DEFECTIVE, YOU AND YOUR DISTRIBUTEES (AND NOT RSA)
  363.      ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR
  364.      CORRECTION.
  365.  
  366. 5.   LIMITATION OF LIABILITY. EXCEPT AS EXPRESSLY PROVIDED FOR IN
  367.      SECTION 6 HEREINUNDER, NEITHER RSA NOR ANY OTHER PERSON WHO HAS
  368.      BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THE
  369.      PROGRAM SHALL BE LIABLE TO YOU OR TO ANY OTHER PERSON FOR ANY
  370.      DIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES, EVEN IF RSA HAS BEEN
  371.      ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  372.  
  373. 6.   PATENT INFRINGEMENT OBLIGATION. Subject to the limitations set
  374.      forth below, RSA, at its own expense, shall: (i) defend, or at
  375.      its option settle, any claim, suit or proceeding against you on
  376.      the basis of infringement of any United States patent in the
  377.      field of cryptography by the unmodified Program; and (ii) pay any
  378.      final judgment or settlement entered against you on such issue in
  379.      any such suit or proceeding defended by RSA. The obligations of
  380.      RSA under this Section 6 are subject to: (i) RSA's having sole
  381.      control of the defense of any such claim, suit or proceeding;
  382.      (ii) your notifying RSA promptly in writing of each such claim,
  383.      suit or proceeding and giving RSA authority to proceed as stated
  384.      in this Section 6; and (iii) your giving RSA all information
  385.      known to you relating to such claim, suit or proceeding and
  386.      cooperating with RSA to defend any such claim, suit or
  387.      proceeding. RSA shall have no obligation under this Section 6
  388.      with respect to any claim to the extent it is based upon (a) use
  389.      of the Program as modified by any person other than RSA or use of
  390.      any Application Program, where use of the unmodified Program
  391.      would not constitute an infringement, or (b) use of the Program
  392.      in a manner other than that permitted by this Agreement. THIS
  393.      SECTION 6 SETS FORTH RSA'S ENTIRE OBLIGATION AND YOUR EXCLUSIVE
  394.      REMEDIES CONCERNING CLAIMS FOR PROPRIETARY RIGHTS INFRINGEMENT.
  395.  
  396.      NOTE: Portions of the Program practice methods described in and
  397.      subject to U.S. Patents Nos. 4,200,770, 4,218,582 and 4,405,829,
  398.      and all foreign counterparts and equivalents, issued to Leland
  399.      Stanford Jr. University and to Massachusetts Institute of
  400.      Technology. Such patents are licensed to RSA by Public Key
  401.      Partners of Sunnyvale, California, the holder of exclusive
  402.      licensing rights. This Agreement does not grant or convey any
  403.      interest whatsoever in such patents.
  404.  
  405. 7.   RSAREF is a non-commercial publication of cryptographic
  406.      techniques. Portions of RSAREF have been published in the
  407.      International Security Handbook and the August 1992 issue of Dr.
  408.      Dobb's Journal. Privacy applications developed with RSAREF may be
  409.      subject to export controls. If you are located in the United
  410.      States and develop such applications, you are advised to consult
  411.      with the State Department's Office of Defense Trade Controls.
  412.  
  413. 8.   TERM. The license granted hereunder is effective until
  414.      terminated. You may terminate it at any time by destroying the
  415.      Program and its associated documentation. The termination of your
  416.      license will not result in the termination of the licenses of any
  417.      distributees who have received rights to the Program through you
  418.      so long as they are in compliance with the provisions of this
  419.      license.
  420.  
  421. 9.   GENERAL
  422.  
  423.      a.   This Agreement shall be governed by the laws of the State of
  424.           California.
  425.  
  426.      b.   Address all correspondence regarding this license to RSA's
  427.           electronic mail address <rsaref-administrator@rsa.com>, or
  428.           to
  429.  
  430.                RSA Laboratories
  431.                ATTN: RSAREF Administrator
  432.                100 Marine Parkway, Suite 500
  433.                Redwood City, CA  94065
  434.